package Initialize

import (
	"gitee.com/fierce_wolf/go-fox-edge-common/commUtil/periodTask"
	"go-fox-edge-kernel-manager/component"
	"go-fox-edge-kernel-manager/repository"
)

func createPeriodTask() {
	periodTask.Scheduler()

	// 周期执行的任务
	periodTask.InsertTask(component.GateWayRouteUpdateTask)
	periodTask.InsertTask(component.ConfigEntityTask)
	periodTask.InsertTask(component.CleanLogFileTask)
	periodTask.InsertTask(component.CleanCacheTask)
	periodTask.InsertTask(repository.LocalProcessGcTask)
	periodTask.InsertTask(repository.LocalJarMethodTask)

	// 一次性任务
	periodTask.InsertTask(&repository.RepoLocalProcessStartTask{})
	periodTask.InsertTask(&repository.RepoLocalJarFileScanTask{})

	// 一次性任务
	periodTask.InsertTask(&repository.RepoScanStatusTask{ModelType: "decoder"})
	periodTask.InsertTask(&repository.RepoScanStatusTask{ModelType: "service"})
	periodTask.InsertTask(&repository.RepoScanStatusTask{ModelType: "webpack"})
	periodTask.InsertTask(&repository.RepoScanStatusTask{ModelType: "template"})

	// 一次性任务
	periodTask.InsertTask(&repository.RepoLocalAppScanTask{AppType: "kernel"})
	periodTask.InsertTask(&repository.RepoLocalAppScanTask{AppType: "system"})
	periodTask.InsertTask(&repository.RepoLocalAppScanTask{AppType: "service"})
	periodTask.InsertTask(&repository.RepoLocalAppCleanTask{})
}
